home *** CD-ROM | disk | FTP | other *** search
/ Resource Library: Multimedia / Resource Library: Multimedia.iso / utils / sound / convrtr / amiga / amisx20b / readme.ami
Encoding:
Text File  |  1992-06-30  |  10.8 KB  |  227 lines

  1. -----
  2. BRIEF
  3. -----
  4. Here is release 2.0 of my Amiga port of the Sound Tools kit,
  5. public release 5, including SOX, the Sound Exchange.  The
  6. original Unix archive is available via anonymous ftp from
  7. wuarchive.wustl.edu, in the directory /usenet/alt.sources/articles.
  8. (I'm not sure what the article numbers for this latest release are,
  9. but they can be found with archie.)  I have placed all my
  10. modifications of the Unix code within #ifdef delimiters, so the
  11. Amiga code should still compile under BSD or SysV using the
  12. original Makefile ("Makefile.unix").  Use the "Makefile.amiga" to
  13. compile for AmigaDOS, or use the supplied shell script "Maker" if
  14. you don't own a compliant "make" program.  "Maker" can be found in
  15. the "Amiga" directory.
  16.  
  17.  
  18. ---------
  19. COMPILING
  20. ---------
  21. Using "make", "dmake", or "lmk":
  22. 1.  Copy "Makefile.amiga" to "Makefile", "dmakefile", or "lmkfile".
  23. 2.  Edit the Makefile according to your setup and preferences.
  24.     a. change compiler options to suit your compiler.  CC should
  25.        equal the name of the program you use to compile (e.g.,
  26.        cc for Manx, dcc for DICE, lc for Lattice/SAS).
  27.     b. change O to any flags you use for things like optimization
  28.        or any other specific methods you want implemented by the
  29.        compiler.
  30.     c. ar is a program which provides library maintenance under
  31.        Unix.  It usually requires ranlib, too.  Since you have
  32.        an Amiga, you won't need to deal with it.  Lattice
  33.        this little dealie called "oml" which archives object
  34.        modules as compiler libs, so if you have Lattice set AR
  35.        to "oml" and AR_ARGS to "a" (see your documentation for
  36.        more oml details).  If you don't own Lattice, you might or
  37.        might not have an object module librarian--I'm not
  38.        familiar with any of the other Amiga C compilers.  There
  39.        is, however, a freely distributable librarian available
  40.        over the Internet somewhere, and probably on many BBSes,
  41.        too.  I believe it's by Mike Meyer.  If you use this
  42.        program, set AR and AR_ARGS according to its
  43.        documentation.
  44.     d. RM is the name of a program to delete files you no longer
  45.        need after compile time.  Set it to whatever you use to
  46.        delete things.  I've commented out a few lines of the
  47.        Makefile since c:delete gags if you ask it to delete a
  48.        file that doesn't exist, but if your RM handles
  49.        nonexistent files, feel free to uncomment these.
  50.     e. WILDCARD is a symbol or symbols that your system will
  51.        recognize as representing any sequence of characters,
  52.        including any subsequence of no characters.  The #?
  53.        pair won't work, though, since '#' is the symbol in make
  54.        for a comment.  '*' works on my system, but that's
  55.        probably because I use csh as my shell.
  56.     f. If you have a 68881 or a 68882 math coprocessor installed
  57.        in your Amiga (as does every A3000), you'll probably want
  58.        to make the FPU version of sox.  Use of the FPU for
  59.        floating-point intensive operations can speed the
  60.        program's execution on some effects by over 400%.  Remove
  61.        the hash marks in lines 50 and 51 of the Amiga Makefile to
  62.        create the FPU version.  Note that the FPU binary is
  63.        smaller than the non-FPU version, as it contains no
  64.        library code to emulate heavy-duty math functions.  You
  65.        shouldn't need to place hashes in lines 46-47, but if your
  66.        "make" fails, give it a try.
  67. 3.  To make the sox binary according to the specifications in the
  68.     Makefile, enter "make" or "make sox" into your shell (I dearly
  69.     hope no one's still using a vanilla CLI...).  To make only the
  70.     Sound Tools library, enter "make libst.lib".  If you didn't
  71.     change RM and uncomment the line containing "$(RM)", you may need
  72.     to delete any existing libst.lib files in your current directory.
  73.     To remove all the ugly object files that you don't need any more,
  74.     enter "make clean".
  75. 4.  Wait for your command prompt.
  76. 5.  Install the new sox binary wherever you keep things like that.
  77.  
  78. To compile without a good make:
  79. 1.  Open a DOS shell, if you don't use it regularly.  (I can't blame
  80.     you if you don't, but I can blame you if you made it hard to get
  81.     get back to it in emergencies.)
  82. 2.  Follow the instructions for using "Make" above, but ignore
  83.     references to Make and Makefile per se, and replace occurences
  84.     of "make" in shell commands with "execute maker".
  85.  
  86.  
  87. -----------
  88. AMIGA NOTES
  89. -----------
  90. The files "sox.cat" and "st.cat" are ANSI versions of the [n,t,pt]roff
  91. files sox.man ans st.man, generated with my pseudo-port of nroff for
  92. the Amiga.  I don't have appropriate tmac files, however, so I modified
  93. these to be compatible with my nroff.  The corresponding Amiga nroff
  94. files are called "sox.nro" and "st.nro", for lack of a better suffix.
  95. To regenerate the ANSI file in this archive, use "nroff -man
  96. [sox,st].man".
  97.  
  98. Since "sox.cat" and "st.cat" are just ANSI copies of the Unix manuals,
  99. they describe the Unix version of SOX and Sound Tools specifically.
  100. Following are peculiarities of the Amiga version.
  101.  
  102. - PIPE: and U. Dominik Mueller's csh pipes should work; however,
  103.   FIFO: and other non-seekable pipes don't.  I don't know whether
  104.   pipes work on other popular shells as I don't use them.
  105. - The Amiga version of sox incorporates a version string, so typing
  106.   "version sox" should tell you what version of the binary you have.
  107.   The Amiga release number will always be between 3 and 3.999...
  108.   higher than that of the latest public release; thus Amiga SOX 2.0
  109.   is a port of Unix SOX Release 5, and Amiga SOX 2.1 would be
  110.   an enhancement to Amiga SOX 2.0, with no new Unix code released.
  111. - If you want to keep libst.lib, you'll have access to most of sox's
  112.   functions through a compiler library as documented in the files
  113.   "st.man" (troff) and "st.man.ascii" (ascii).  Put this in your
  114.   lib: directory if you're interested in it.
  115. - "tests.sh", the SOX program test script, naturally doesn't work on
  116.   the Amiga (unless you've a port of /bin/sh, and I'm sure we'd all
  117.   like to hear about it if you do).  If you feel a need to perform
  118.   such a precise test, you can probably figure out how by reading it.
  119. - Amiga SOX now uses <stdarg.h>; if your compiler doesn't have this,
  120.   find something that fully supports varargs.  You'll have to make
  121.   the necessary changes yourself in sox.c for non-SAS varargs.
  122. - I have supplied a number of scripts for the DOS shell, and scripts
  123.   and aliases for U.D.Mueller's csh, to make SOX conversions easier.
  124.   See the Manifest below for more information.
  125.  
  126. And, regarding the Sound Tools library and its documentation:
  127.  
  128. - On the current Unix version of Sound Tools, the library is named
  129.   "libst.a".  Some old documentation refers to it as "libsk.a".
  130.   For the Amiga, replace any occurrence of either of these words
  131.   with "libst.lib", the name of the Amiga library.
  132.  
  133.  
  134. --------
  135. MANIFEST
  136. --------
  137. README.amiga            Notes on Amiga port (this file)
  138. Amiga/Maker             AmigaDOS shell script to compile SOX/Sound Tools
  139. Amiga/scripts/csh/*     See soxscripts.doc.
  140. Amiga/scripts/dos/*     See soxscripts.doc.
  141. Amiga/scripts/soxscripts.doc
  142.                         Documentation on my shell scripts/aliases for easy
  143.                         specific conversions.
  144. Amiga/sox.nro           Modified troff manual for Amiga nroff
  145. Amiga/st.nro            Modified troff manual for Amiga nroff
  146. bin/libst.lib           Sound Tools compiler library, non-FPU version
  147. bin/libst881.lib        Sound Tools compiler library, FPU version
  148. bin/sox                 Amiga Sound Exchange, non-FPU version
  149. bin/sox.cat             Original Unix SOX manual, (ANSI format)
  150. bin/sox881              Amiga Sound Exchange, FPU version
  151. bin/st.cat              Original Unix Sound Tools Library manual (ANSI)
  152. src/*.c                 C source code for Sound Tools kit and SOX
  153. src/*.h                 C header files for ST and SOX
  154. src/INSTALL             How to compile/install Unix SOX
  155. src/Makefile.amiga      Makefile for Amiga version of ST
  156. src/Makefile.unix       Original Unix Makefile
  157. src/README              Original Sound Tools README file
  158. src/sox.man             Original Unix SOX manual, (troff format)
  159. src/st.man              Original Unix Sound Tools Library manual (troff)
  160. src/TODO                Things to be done for original Unix distribution
  161.  
  162. - Amiga/scripts/*, bin/*, and README.amiga are found in the archive
  163. "amisox20bin.lha".
  164.  
  165. - Amiga/Maker, Amiga/*.nro, src/*, and README.amiga are found in the
  166. archive "amisox20src.lha".
  167.  
  168. ----------
  169. LAST NOTES
  170. ----------
  171. Some channel conversions on IFF-8SVX files require the creation of
  172. a temporary file which by default is written to the t: logical
  173. device.  If you perform any of these conversions, be sure you have
  174. enough free store in t: for such a file.
  175.  
  176. The hacked temp file handler doesn't know how to kill its children.
  177. Any advice would be appreciated.
  178.  
  179. The FPU version of the Sound Tools library, libst881.lib, must be
  180. linked with a 68881/2 library to resolve math coprocessor calls.
  181. For Lattice/SAS C, use lib:lcm881.lib.  This is handled by the
  182. Makefile.amiga, but you should know in case something blows up.
  183.  
  184. Some of the .c files compile with type warnings, but the binaries
  185. seem to work fine.  If you have any trouble, please let me know.
  186. All redefinitions have been ignored so as to limit changes to the
  187. code.
  188.  
  189. Not all of the type identifiers are immediately obvious; for example,
  190. the type spec for a ulaw sound is "-t .au", rather than "-t ulaw".
  191. You can find all of the type specs buried inside the file
  192. "handlers.c"; alternatively, check the file TYPES for a list of types
  193. and their corresponding suffixes.  I just decided to write this.
  194.  
  195. As with the original Sound Tools package, the Amiga SOX and Sound
  196. Tools Library are freely distributable, but the original code is
  197. copyrighted by Lance Norskog.  Amiga modifications are freely
  198. distributable and modifiable ONLY outside of any change to SOX; any
  199. suggested changes should be sent to me directly at one of the
  200. addresses below.  See the file "README" for the details on SOX code
  201. rights and restrictions.  See individual driver modules for
  202. copyright restrictions/permissions/ownership on the type handlers.
  203.  
  204. Finally, I suggest that, whenever possible, you use Mike Cramer's
  205. SoundZAP for XXX->IFF conversions; it's generally much faster.  The
  206. only time I can really justify using SOX is for effects other than
  207. rate changes and for conversions to types other than IFF.
  208.  
  209. ----------------------
  210. CREDITS & AUTHOR STUFF
  211. ----------------------
  212. Thanks to caw@miroc.Chi.IL.US (Christopher A. Wichura) for help on
  213. a few problems I had with the Amiga's lack of certain functions,
  214. and to psd1@midway.uchicago.edu (Pratik S. Dave) for the idea of the
  215. shell scripts/aliases.
  216.  
  217. Please contact me if you have any ideas on bringing Amiga SOX up to
  218. the level of its Unix/DOS counterparts.  I may be reached at:
  219.  
  220. David Champion                           Internet E-Mail:
  221. 5752 S. Maryland Ave. Apt. 1
  222. Chicago, IL 60637                        dgc3@midway.uchicago.edu
  223. U.S.A.                                   champion@tira.uchicago.edu
  224. (yes, I've moved again...)
  225.  
  226. Share and enjoy.
  227.